package cn.stylefeng.guns.modular.time.service;

import com.baomidou.mybatisplus.extension.service.IService;
import cn.stylefeng.guns.modular.time.entity.Notification;
import cn.stylefeng.guns.modular.time.model.request.NotificationRequest;
import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult;

public interface NotificationService extends IService<Notification> {
    PageResult<Notification> findPage(NotificationRequest request);
    void add(NotificationRequest request);
    void delete(NotificationRequest request);
    Notification detail(NotificationRequest request);
    void addSystemNotification(String title, String content, String aiContent, String sourceUrl, String type);
    /**
     * 添加系统通知，带唯一标识与详情
     */
    void addSystemNotification(String title, String content, String aiContent, String sourceUrl, String type, String uniqueId, String details);
    /**
     * 为指定用户添加通知，带唯一标识与详情
     */
    void addUserNotification(Long userId, String title, String content, String aiContent, String sourceUrl, String type, String uniqueId, String details);
    /**
     * 为指定用户添加通知并返回ID，带唯一标识与详情
     */
    Long addUserNotificationReturnId(Long userId, String title, String content, String aiContent, String sourceUrl, String type, String uniqueId, String details);
}